﻿/** \file
* \par Subversion URL:
* \$URL: http://planar-rendering.googlecode.com/svn/trunk/frontend/src/Target.cs $
* \version \$Rev: 78 $
* \date    \$Date: 2009-04-20 09:47:39 +0000 (Mon, 20 Apr 2009) $
*/

using System;

namespace Frontend
{
	/// <summary>
	/// Abstract class to represent a fractal rendering target.
	/// </summary>
	abstract class Target
	{
		/// <summary>The associated generator.</summary>
		protected Generator gen;

		/// <summary>
		/// The constructor.
		/// </summary>
		/// <param name="genInit">The associated generator.</param>
		protected Target(Generator genInit)
		{
			gen = genInit;
		}

		/// <summary>
		/// Begin generation.
		/// </summary>
		public virtual void Begin()
		{
		}

		/// <summary>
		/// End generation.
		/// </summary>
		public virtual void End()
		{
		}

		/// <summary>
		/// Process the row data.
		/// </summary>
		public abstract void Write(int threadno);
	}
}
